package com.galaxy.product.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.galaxy.common.mybatis.core.mapper.BaseMapperPlus;
import com.galaxy.product.domain.Product;
import com.galaxy.product.domain.bo.ProductBo;
import com.galaxy.product.domain.vo.ProductVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品Mapper接口
 */
public interface ProductMapper extends BaseMapperPlus<Product, ProductVo> {
    IPage<ProductVo> selectVoPage(@Param("page") Page<ProductVo> page, @Param("bo") ProductBo bo);

    IPage<ProductVo> selectVoListPage(@Param("page") Page<ProductVo> page, @Param("bo") ProductBo bo);

    List<ProductVo> selectVoList(@Param("bo") ProductBo bo);

    Product selectListById(@Param("id")Long id);

    /**
     * 批量查询商品信息
     *
     * @param ids 商品ID列表
     * @return 商品信息列表
     */
    List<Product> selectBatchByIds(@Param("ids") List<Long> ids);


    ProductVo selectVoOne(@Param("bo") ProductBo bo);
}
